package com.sinog.biz.service.business;

import com.sinog.core.utilbean.Result;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;

/**
 * @desc 安置帮教管理 - 帮教对象信息管理 - 失联人员管理
 * @author sunsf
 * @date 2020-02-07-16:40
 */
@RestController
public interface BjdxTuoguanInfoMainService {

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 失联人员管理 - 列表
     * @param pageIndex 起始页
     * @param pageSize 止页
     * @param type 是否失联
     * @param key 姓名模糊搜索
     * @param departId 当前登录用户的departId
     * @param level 当前登录用户的level
     * @param orgId 当前登录用户的上级编号
     * @param sortField 排序字段
     * @param sortOrder 排序方式
     * @return String
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/slrygl/list")
    String getHtuoguanList(
            @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
            @RequestParam(value = "pageSize", required = false) Integer pageSize,
            @RequestParam(value = "key", required = false) String key,
            @RequestParam(value = "departId", required = false) String departId,
            @RequestParam(value = "level", required = false) int level,
            @RequestParam(value = "orgId", required = false) String orgId,
            @RequestParam(value = "type", required = false) String type,
            @RequestParam(required = false) String sortField,
            @RequestParam(required = false) String sortOrder);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 失联人员管理 - 失联登记 - 姓名搜索
     * 失联人员的状态条件约束：是安帮人员、没有失联的、没有解除安置帮教的、司法所补录人员中已经录入服刑信息的、对于吸毒状态没有要求
     * @param key 姓名模糊搜索
     * @param departId 当前登录用户的departId
     * @param level 当前登录用户的level
     * @param orgId 当前登录用户的上级编号
     * @return List<Map<String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/slrygl/getPrisonerList")
    List<Map<String,Object>> getPrisonerList(
            @RequestParam(value = "key", required = false) String key,
            @RequestParam(value = "departId", required = false) String departId,
            @RequestParam(value = "level", required = false) int level,
            @RequestParam(value = "orgId", required = false) String orgId);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 失联人员管理 - 失联登记 - 保存/找回
     * @param dataStr 实际参数
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/slrygl/saveSldjBaseInfo")
    Result saveSldjBaseInfo(@RequestParam(value = "dataStr", required = false) String dataStr);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 失联人员管理 -找回 - 查询
     * @param slId 失联编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/slrygl/getTuoguanInfoByPriNum")
    Result getTuoguanInfoById(@RequestParam(value = "slId", required = false) String slId);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 失联人员管理 - 失联记录
     * @param slId slId
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/slrygl/getTuoguanJlInfoById")
    Result getTuoguanJlInfoById(@RequestParam(value = "slId", required = false) String slId);
}